var ffdocs = Domain(
 product("Food Finder", gist -> "Not really Food Finder, the name was already taken."),
 data("Address", gist -> "Address of a location", state -> specified, spec->"A 128 character string describing the address of a location."),
 data("Colour", gist -> "Pins have a color", state -> specified, spec->"A struct containing 3  integers representing red, green and blue with values ranging between 0 and 255.  A fourth value representing the opacity is also included as a double value between 0 and 1. "),
 data("Distance", gist -> "Distance from user location to location", state -> specified, spec->"Distance between two locations in meters represented by a long value."),
 data("Error code", gist -> "A specific machine generated error code used by developers", state -> specified, spec->"String describing a error specified by the developers."),
 data("Icon", gist -> "An icon", state -> specified, spec-> "A icon with a size of 32x32 pixels for a retina display or otherwise 16x16 pixels."),
 data("Location", gist -> "A location specifier.", state -> specified, spec-> "Is a CLLocation which is specified in the core location framework."),
 data("Mean rating value", gist -> "Mean value of POI ratings.", spec-> "All ratings for said POI divided by the number of ratings shown as number between 0-5 with one decimal precision.", state -> specified),
 data("Open hours", gist -> "Opening hours of location", state -> specified, spec->"Hours open specified as two integers representing the opening and closing time in seconds."),
 data("Rating", gist -> "Numerical rating 0-5", state -> specified, spec->"A rating of a POI specified as a integer with a  value of 0-5."), 
 data("OS identifier", gist -> "An identifier used when sending developer feedback and error messages", state -> specified, spec->"Includes description of both version and OS type represented as a UTF8 encoded string."),
 data("POI pin type", gist -> "Can either be user pin type or POI pin type.", state -> specified, spec->"Represented as an integer which is used to distinguish the POI pin type."),
 data("Reviews", gist -> "Reviews of a location", state -> specified, spec-> "The reviews are anonoymous personal description of a store and are stored as a maximum of 255 character array."),
 data("Sharing statistics", gist -> "Statistics of sharing", state -> specified, spec->"Statistics of how many times the user has shared a specific location."),
 data("Statistics", gist -> "Usage statistics", state -> specified, spec-> "The amount of searches, shares, POI taps, reviews, ratings, where the product was used, how the product was used and when the product was used."),
 data("Timestamp", gist -> "the error message should contain a timestamp when the error occurred", state -> specified, spec->"A long containing the amount of milliseconds since 01-01-1970."),
 data("Title", gist -> "The name of the location", state -> specified, spec->"A string with a maximum of 128 characters containing the name of the POI."),
 data("User pin type", gist -> "A specified pin type", state -> specified, spec->"A constant integer of value 1 named kUserPinType."),
 feature("Add to favourites", gist -> "Option to add location to favourites", state -> specified , spec -> "The product shall allow the user through interaction with the graphical user interface add a location to their favourites."),  
 feature("Alert messages", gist -> "The application can alert the user through different types of messages",  state -> specified, spec -> "The product shall support different methods of notifying the user using dialog boxes.", prio->5),
 feature("Blacklisted", gist -> "Filters by blacklist", state -> dropped, spec -> "The product shall support filtering out all blacklisted  locations.", prio -> 0),
feature("Calendar Event", gist -> "A user can create a calendar event for a location", state -> dropped, prio -> 0),
 feature("Cancelable", gist -> "It should be possible to exit the introductory tutorial without finishing it", state -> specified, spec -> "The product shall provide a way to abort the tutorial at any stage during the tutorial without having to go through all of it."),
 feature("Cancelable POI", gist -> "It should be possible to cancel a fetching of a point of interest", state -> specified, spec -> "The product shall provide a way for the user to abort a fetch for points of interest while waiting for it to finish."),
 feature("Category", gist -> "Filters by category", state -> dropped, spec -> "The product shall support filtering by using categories as search criteria."),
 feature("Changeable icon", gist -> "Pins should have customizable icon", state -> dropped),
 feature("Check-in", gist -> "The application allows the user to check-in through Facebook", state -> specified, spec -> "The product shall support Facebook check-ins that include a user specific location."),
 feature("Compass", gist -> "A compass showing directions", state -> specified, spec -> "The product shall provide a compass showing the users direction in relation to the direction of the earth’s poles."),
 feature("Copy location", gist -> "Able to copy selected location", state -> specified, spec -> "The product shall provide a way for the user to copy the coordinates of a location to the clipboard."),
 feature("Coupon", gist -> "The application will have functionality for special offers through a coupon system", state -> specified, spec -> "The product shall provide a way for the product consumer to communicate special coupon offers to the user."),
 feature("Customisation", gist -> "The application will be customisable", state -> specified, spec -> "The product shall support a multitude of customisation options for both the product consumer and user."),
 feature("Developer contact", gist -> "A user can contact the developers", state -> specified, spec -> "The product shall support the user sending feedback directly to the developers in charge of maintanance"),
 feature("Directions", gist -> "Gives the user directions from user's location to the specified POI", state -> specified, spec -> "The product shall provide directions for the user from their current location to a user specified point of interest", prio -> 4),
 feature("E-mail integration", gist -> "Support sharing of locations through email", state -> specified, spec -> "The product shall support sharing of locations using e-mail templates"),
 feature("Error margin radius", gist -> "Shows the error margin", state -> specified, spec -> "The  GPS error margin, shown as a circle."),
 feature("Error message", gist -> "Gives an alert to an error occuring", state -> specified, spec ->"The product shall support showing error messages to the user through the use of dialog boxes"),
 feature("Execution", gist -> "Requirements related to the execution", state -> specified, spec -> "The product shall limit the execution of functions and features as specified by quality requirements labeled under Execution"),
 feature("Favourites", gist -> "The users can define a list of favourites", state -> specified, spec ->"The user favourites a POI by tapping the star in the more info view"),
 feature("Facebook", gist -> "The program should have access to Facebook API", state -> specified, spec->"Follows http://developers.facebook.com/docs/beta/opengraph/tutorial/ as to gain access to the Facebook API for developers."),
 feature("Feedback", gist -> "Information should be sent to the developers and the statistics database", state -> specified, spec->"When information of the usage of the product is collected it should be sent to the developers and the statistics database."),
 feature("Fetch POIs", gist -> "Fetches nearby points of interest from server.", state -> specified, spec->"Sends a request to the server asking for the points of interest and then converts the answer to the points of interests.", prio -> 5),
 feature("Filter",  gist -> "Filtering of the results is possible", spec -> "The application provides different alternatives for filtering the results. The user can decide on different filters and when a new filter is selected, the displayed results are updated accordingly.", state -> specified),
 feature("Filter favourites", gist -> "It should be possible to filter by favourites", spec -> "It should be possible to only display Points Of Interest that have been selected as a favourite by the user. When deciding on using this filter, all POIs that are not favourited will be hidden.", state -> specified, prio -> 3),
 feature("Filter radius", gist -> "It should be possible to filter by radius", spec -> "It should be possible to only display Points Of Interest within a specified radius. The user decides on a radius (for instance by using a scroll wheel) resulting in an update of which POIs are displayed.", state -> specified, prio ->4),
feature("From specified location", gist -> "Gives directions to a Point Of Interest from a specified location, perhaps different from the users current position.", spec -> "If the user has specified a location on the map, then directions to a Point Of Interest should optionally originate from this specified location instead of the user's current location.", state -> specified, prio -> 1),
 feature("Google+ integration", gist -> "The application should be able to have interactivity with google+", state -> specified, spec -> "Future releases of the application should support features in google+ that are similar to those supported for facebook"),
 feature("Open in google maps", gist -> "The location can be opened in Google Maps", state -> dropped, prio -> 0),
 feature("Images", gist -> "There should be support to use images in the product.", state -> specified, spec->"The application should be able to load its images and show them to the user through the graphical user interface."),
 feature("Hybrid view", gist -> "Map can be displayed as a hybrid view", state -> specified, spec -> "The map view should be able to display a map combining the normal map view and satellite view."),
 feature("Info view", gist -> "The Info view contains the information for a Point Of Interest", spec -> "An Info view which is linked to a Map pin contains all the information related to the corresponding Point Of Interest. This includes the name of the location, the address, opening hours, reviews and ratings. The Info view also contains the necessary means for getting directions to the POI.", state -> specified),
 feature("Introduction tutorial", gist -> "An introductory tutorial for first-time users", spec -> "The first time the user starts the application an introductory tutorial explaining the features of the program is given.", state -> specified),
 feature("Launch screen", gist -> "A screen that is displayed during startup of the application", spec -> "While the user has started the application and is waiting for the application to load, a launch screen is displayed.", state -> specified),
 feature("Location info", gist -> "Shows information about a selected POI", state -> specified, spec -> "When a user selects a POI a a small popup with information about the locations name, address, rating, and distance. It also shows a customisable icon and a button for more information about the location. ", prio -> 5),
 feature("Map arrow", gist -> "Arrow pointing to locations rendered on top of the map view",  state -> specified, spec -> "There should be functionality to display arrows that point to POIs outside of the current displayed area of the map"),
 feature("Map pin", gist -> "A pin rendered on the map that marks a location.", spec -> "Map pins are used to mark the locations of Points Of Interest on the map. There should be functionality to render map pins on top of the rendered map.", state -> specified),
 feature("Map support", gist -> "Map features", state -> specified, spec -> "This is the main feature of the map part of the application."),
 feature("Map view", gist -> "The map view retrieved from Google Maps", state -> specified, spec->"The map view should be retrieved by the application from Google Maps through the Google API."),
 feature("Facebook message", gist -> "Send a facebook message including a POI", spec->"Send a facebook message to a friend including a google maps url pointing to the specified POI.", state -> created), feature("Google+ message", gist -> "Send a google+ message including a POI", state -> created),
 feature("Facebook message wall", gist -> "Ability to write a message about the location on a wall", state -> specified, spec->"The application should be able to let the user write messages on the walls of Google+ and Facebook."),
 feature("Network message", gist -> "Should inform the user of the status of the network", state -> specified, spec->"The application should show a graphical representation of the status of the network to the user."),
 feature("Network timeout alert", gist -> "Show alert message on time out", state -> specified, spec -> "The system shall show an alert message informing the user when a network function has timed out."),
 feature("News", gist -> "A screen that gives the user news about the franchise", spec ->"There should be functionality for displaying a news screen with updates about the application specific franchise.", state -> specified),
 feature("No data traffic alert", gist -> "Show alert message when no data traffic", state -> specified, spec -> "The system shall show an alert message informing the user when data traffic is unavailable."),
 feature("No Internet connection", gist -> "Show alert message when no internet connection", state -> specified, spec -> "The system shall show an alert message informing the user when internet connection is unavailable."),
 feature("No server connection", gist -> "Show alert message when no server connection", state -> specified, spec -> "The system shall show an alert message informing the user when connection to the data server is lost."),
 feature("Notify developers", gist -> "The user can notify the developers of an occurred error", state -> specified, spec -> "The system shall provide the user with an option to forward error messages to the developers."),
 feature("Notification support", gist -> "Support for giving notifications to the user", state -> specified, spec -> "The system shall provide the product owner with an option to notify the user of important information."),
 feature("Opening hours", gist -> "Filter stores by opening hours", prio -> 4, state -> specified, spec->"The user should be able to specify a filter which make the map view only show stores which are open between specified hours."),
 feature("OS support", gist -> "Mobile OS support", state -> specified, spec->"The application should be able to be used on the cellphones with the android or iOS operating systems."),
feature("Panable view", gist -> "The map view should be panable", spec -> "The user can pan the map by using the touch screen.", state -> specified, prio -> 5),
 feature("Pin types", gist -> "There should exist more than one type of pins.", state -> specified, spec->"There should exist support for the system to allow the existence of more than one kind of pin type."),
 feature("Push notification", gist -> "Application can send push notifications (iOS SPECIFIC)", state -> created),
 feature("Rating", gist -> "Filter by ratings", state -> specified, spec->"The application rating filter should only allow the user to view ratings which are within an interval that start at a rating between 0-5 and ends at the rating 5."),
 feature("Rate message", gist -> "Alerts the user to rate the application", state->specified, spec -> "The application should alert the user to rate the application when the user start the application when the last alert message was more than 30 days ago and the user hasn’t rated the application."),
 feature("Reflects distance in its size", gist -> "Arrows should scale depending on distance.", state -> specified, spec->"The arrows that point towards the points of interest should change their size depending on the distance between the user and the point of interest. If the distance grow the arrow should also grow in size, while if the distance get smaller between the user and the point of interest the arrows should get smaller."),
 feature("Regular map view", gist -> "Support a regular map view", state -> specified, spec -> "The system shall support viewing a regular map view from google map."),
 feature("Release message", gist -> "Gives an alert to new releases", state -> specified, spec -> "The system shall show an alert message to the user when there is a new release available."),
 feature("Remove pin", gist -> "Pins should be removable", state -> dropped, prio -> 0),
 feature("Remove favourite", gist -> "Favourites should be removable", state -> specified, spec->"The application should allow the user to remove, and thereby delete, favourites, through the graphical user interface.."),
 feature("Retake tutorial", gist -> "The introductory tutorial should be retakeable", spec -> "There should be an option for re-taking the introductionary tutorial.", state -> specified),
 feature("Satellite view", gist -> "Map can be displayed as a satellite view", state -> specified, spec->"The user should be able to use the map view to see the map as the satellite view map supplied by the Google API. "),
 feature("Scalable", gist -> "User can change the size of radius", state -> created, prio -> 4),
 feature("Send feature request", gist -> "A user can send requests for future features", state -> specified, spec->"The user should be able to through the graphical user interface specify a request for a future and send said specification to the developers of the application."),  
 feature("Send statistics", gist -> "Send statistics", state -> specified, spec->"The application should be able to send the statistics of the usage of the application to the developers and the statistics database."),
 feature("Share", gist -> "Let the user share a POI", spec->"Let the user share a POI via a google maps URL.", state -> specified),
 feature("Shareable", gist -> "User can share information with other users", state -> specified, spec->"The application should allow the user to share information with other users through the graphical user interface."),
 feature("Sharing support", gist -> "Support for sharing statistics and location", state -> specified, spec -> "The system shall support the user sharing statistics and locations through listed means."),
feature("Shows locations", gist -> "Shows locations according to the current user defined filter", state -> specified, spec->"Show the location of all points of interest that are allowed to be seen by the filter by the map view.", prio ->5),
 feature("Shows distance", gist -> "The arrows should show the distance from the user to the location", state -> specified, spec->"At each of the arrows that point towards a point of interest a distance from the user to said point of interest is written.", prio -> 2),
 feature("SMS integration", gist -> "Support for sharing a POI via SMS", spec->"Allow the user to send a Google Maps URL a specific POI through SMS.", state -> specified),
 feature("Sortable", gist -> "The list of favourites should be sortable", state -> dropped),
feature("Specifiable location", gist -> "The user location can be specified", prio -> 2, state -> specified, spec->"A new location of the user can be specified by the user through the graphical user interface."),
 feature("Support for Android", gist -> "Application works under Android OS", state -> specified, prio -> 5, spec -> "The system shall be convertable to function on the Android OS platform."),
 feature("Support for iOS", gist -> "Application works under iOS", state -> specified, prio -> 5, state -> specified, spec -> "The application shall function on the Apple iOS5 platform."),
 feature("Suspendable", gist -> "The application should be suspendable.", state -> specified, prio -> 4, spec->"The application should be put in a stand by mode while the user accesses other programs and can then be activated again when the user accesses the application again."),
 feature("Tapable", gist -> "Pins are tapable", state -> specified, spec->"Pins seen on the map view can be tapped by the user so the user can access more information of said pin."),
 feature("Timeout error", gist -> "If a phone function times out an error is displayed", state -> specified, spec -> "The system shall show an error message when phone functions times out."),
 feature("Transform to a map pin", gist -> "Transforms arrow into a map pin", state -> specified, spec -> "The system shall remove direction arrows and replace them with pins when the target is shown on the map."),
 feature("Twitter", gist -> "Sharing location on twitter", state -> specified, spec -> "The system shall support sharing locations using a twitter tablet."),
 feature("URL scheme", gist -> "The URL scheme used by iOS devices", state -> specified, spec -> "The system shall support using iOS schemes to copy locations to the clipboard when applied to a iOS platform."),
 feature("User location", gist -> "Show the location of the user", prio -> 5, state -> specified, spec -> "The system shall show the users location on the map."),
 feature("Viewability toggle", gist -> "Visibility of radius can be toggled", state -> specified, spec -> "The system shall provide an option to toggle if the radius used while filtering should be visible or not."),
 feature("Version message", gist -> "Notify the user when new version is available", spec->"Notify the user via an alert message when there is a new version of the application is available. The alert sheet provides 2 options, 1: Take the user to the appstore via an appstore url. 2: Dismiss the alert sheet via a cancel button.", state -> created),
 feature("Zoomable", gist -> "Zooming the map in and out", state -> specified, spec -> "The user should be able to zoom in and out on the map using only their fingers."),
 quality("Application marketplace guidelines", gist -> "The application follows the guidelines for Android Market and Apple App Store", state -> specified, spec -> "The product must meet the guidelines specified by Android Market and Apple App Store", why -> "To be able to list the application on the two retail options."),
 quality("Arrow size", gist -> "Arrows should not be too large", state -> specified, spec -> "The maximum size of arrows shall be limited to 48x48 pixels", why -> "Limiting the size arrows is needed to prevent the screen to be cluttered."),
quality("Colour blind friendly", gist -> "The colour scheme should be defined so that colour blind can see everything", state -> dropped, prio -> 0),
 quality("Easy to understand", gist -> "Should be understood by a mixed English speaking focus group", state -> specified, spec -> "At least 80\\\\% of the users must be able to understand the text written in the tutorial.", why -> "If less than 80\\\\% of the users cannot understand the text the tutorial will not help them understand the product."),
quality("Error response time", gist -> "Errors when they happen", prio ->3, state -> specified, spec -> "When the system encounters an error it should display a error message no later than 3 seconds later in 95\\\\% of the time.", why -> "If error messages does not appear fast enough the user will not relate it to what they were doing."),
 quality("Time efficient", gist -> "Should be able to complete the tutorial within a set time",state -> specified, spec -> "The tutorial must be completed within 2 minutes by at least 70\\\\% of the users.", why -> "The tutorial must be completed fast so that the user don't feel it takes up too much time before they can start using the application."),
 quality("Execution rigidity", gist -> "Upper limit of number of crashes during use", state -> specified, spec -> "The application must be able to complete it's function without crashing in 99\\\\% of all usage.", prio -> 5, why -> "A product that does not crash too much is very important from a user point of view."),
 quality("Execution time", gist -> "Upper limit on the execution time", state -> specified, spec -> "The execution time of the product's functions should not exceed 1 minute before timing out.", why -> "If executions take too long time the user will get impatient and eventually stop using the application."),
 quality("Android Marketplace guidelines", gist -> "Follows the Android Marketplace guidelines", state -> specified, spec -> "The application that is specified for Android OS must meet the standards requirement specified by the Android Market guidelines found here http://developer.android.com/guide/publishing/publishing.html", why -> "The application should be listed on the Android market to increase availability. "),
 quality("iOS appstore guidelines", gist -> "Follows the guidelines of the iOS appstore", state -> specified, spec -> "The product that is specified for iOS must meet the standard requirements specified by the Apple App Store guidelines found here http://developer.apple.com/appstore/guidelines.html", why -> "The application should be listed on Apple App Store to increase availability."),
 quality("Image resolution", gist -> "Should be of high resolution", prio -> 4, state -> specified, spec -> "The images displayed in the application shall be of high enough resolution to be supported by retina displays.", why -> "The user must have a clear view of all images." ),
 quality("Location error margin", gist -> "The error margin on locating the user must be limited", state -> specified, spec -> "The product should have a maximum of 100 meters in 80\\\\% of application use.", why -> "The user should not feel that their location is too inaccurate or they will not trust the directions given by the application.", prio -> 4),
quality("Map correct overlap", gist -> "A hybrid map should be correctly displayed", state -> specified, spec -> "The roads on the hybrid view should be placed correctly on top of the satellite image of them.", why -> "The hybrid view will combine two map views and to reduce confusion they should be correctly placed upon each other."),
 quality("Maximum arrows", gist -> "Limit how many arrows are shown", state -> specified, spec -> "A maximum of 5 arrows may be shown at any given time.", why -> "Avoiding a cluttered screen is important for the user to apprehend the information available in the application."),
 quality("Maximum pins", gist -> "Limit how many pins that are shown", prio -> 2, state -> specified, spec -> "A maximum of 50 pins may be shown at any given time.", why -> "Avoiding a cluttered screen is important for the user to apprehend the information available in the application."),
 quality("Maximum ratings", gist -> "Limit the amount of ratings shown", prio -> 4, state -> specified, spec -> "The amount of ratings shown at any given time should be limited to 5.", why -> "Avoiding a cluttered screen is important for the user to apprehend the information available in the application."),
 quality("Maximum reviews", gist -> "Limit the amount of reviews shown", state -> specified, spec -> "The amount of reviews shown at any given time should be limited to 5", why -> "Avoiding a cluttered screen is important for the user to apprehend the information available in the application."),
 quality("Maximum radius", gist -> "Upper limit of radius set to 100km", prio -> 1, state -> specified, spec -> "The user should not be able to expand the radius filter to show more than a 100km radius.", why -> "If the radius is increased too much the screen will be filled by pins obstructing the users view of the map."),
 quality("Network timeout", gist -> "Network requests should have a timeout", state -> specified, spec -> "Network request should timeout when they have been pending for 1 minute.", why -> "It's unacceptable to wait more than 1 minute for a network request to complete."),
  quality("Possible favourites", gist -> "Can store at least 100 locations", state -> specified, spec -> "The system should be able to store a list of at least 100 favourite locations.", why -> "The system must support a long list of favourites."),
  quality("Radius visibility", gist -> "The radius should be visible to at least 78\\\\% of all users", state -> specified, spec -> "When the radius is shown it should be visible to at least 78\\\\% of all users.", why -> "Users without sight disability should be able to see the radius."),
  quality("Application resume rigidity", gist -> "Resume without error in 99\\\\% of the cases", prio -> 5, state -> specified, spec -> "When the system resumes usage from suspension it should do so without error in 99\\\\% of the time.", why -> "A rigidity when resuming usage from suspension is vital for the user experience."),
 quality("Tutorial coverage", gist -> "Should include most of the product features", state -> specified, spec -> "For the user to learn how to use the product the tutorial should instruct them on how to use at least 80\\\\% of the available features.", why -> "The tutorial would not be useful if it didn't give the user a walk through including most of the features."),
 quality("Understandable", gist -> "Error messages without programming code", state -> specified, spec -> "Error messages should describe what is wrong in English text without using programming code.", why -> "The user will likely not understand how to avoid the error if the error message includes code lines."),
 quality("Written in English", gist -> "Should be written in English", state -> specified, spec -> "Text shown by the system should be presented in English.", why -> "We assume that users will understand English and thus assigned the application to use English."),
data("Rating") has (quality("Maximum ratings"),data("Mean value")),
data("User pin type") has (feature("Specifiable location")),
data("Reviews") has (quality("Maximum reviews")),
data("Statistics") has (data("Location"),data("Timestamp"),data("OS identifier"),data("Sharing statistics")),
feature("Alert messages") has (feature("Version message"),feature("Release message"),feature("Error message"),feature("Network message"),feature("Rate message")),
feature("Customisation") has (feature("Favourites")),
feature("Directions") has feature("From specified location"),
feature("EULA") has quality("Google API License"),
feature("Execution") has (quality("Execution time"),quality("Execution rigidity"),quality("Network timeout")),
feature("Facebook") has (feature("Check-in"),feature("Message"),feature("Message wall")),
feature("Favourites") has (quality("Possible favourites"),feature("Sortable"),feature("Remove favourite"),feature("Shareable")),
feature("Feedback") has (feature("Send feature request"),feature("Developer contact"),feature("Send statistics")),
feature("Fetch POI") has (feature("Cancelable POI")),
feature("Filter") has (feature("Opening hours"),feature("Rating"),feature("Category"),feature("Filter favourites"),feature("Blacklisted"),feature("Filter radius")),
feature("Images") has (quality("Image resolution")),
feature("Error message") has (feature("Notify developers"),data("Timestamp"),data("Error code"),quality("Written in English"),quality("Understandable"),quality("Error response time"),feature("Timeout error")),
feature("Hybrid view") has (quality("Map correct overlap")),
feature("Introduction tutorial") has (quality("Tutorial coverage"),quality("Written in english"),quality("Easy to understand"),feature("Retake tutorial"),feature("Cancelable"),quality("Time efficient")),
feature("Info view") has (feature("Directions"),data("Reviews"),data("Rating"),data("Distance"),feature("Add to favourites"),data("Address"),data("Open hours"),goal("Supply sufficient information for the specified location"),feature("Share")),
feature("Location info") has (data("Title"),data("Rating"),data("Icon"),feature("Info view")),
feature("Map arrow") has (quality("Arrow size."),feature("Shows distance"),feature("Transform to a map pin"),data("Icon"),feature("Reflects distance in its size")),
feature("Map support") has (feature("Location info"),feature("Filter"),feature("Mutable radius"),quality("Maximum arrows"),feature("Map view"),feature("Map arrow"), feature("Map pin")),
feature("Map pin") has (feature("Pin types"),feature("Changable icon"),data("Icon"),data("Colour"),feature("Remove pin"),feature("Tapable")),
feature("Map view") has (feature("Satellite view"),feature("Hybrid view"),feature("User location"),feature("Zoomable"),feature("Regular map view"),feature("Fetch POIs"), quality("Maximum pins"), feature("Shows locations"), feature("Panable view")),
feature("Filter radius") has (feature("Viewability toggle"),quality("Radius visibility"),feature("Scalable")),
feature("Network message") has (feature("No server connection"),feature("No data traffic"),feature("No Internet connection"),feature("Network timeout")),
feature("Notification support") has (feature("Push notification")),
feature("OS support") has (feature("Support for Android"),feature("Support for iOS")),
feature("Pin types") has (data("POI pin type"),data("User pin type")),
feature("Scalable") has (quality("Maximum radius")),
feature("Send statistics") has (data("Statistics")),
feature("Sharing support") has (feature("SMS integration"),feature("Copy location"),feature("Google+ integration"),feature("E-mail integration"),feature("Twitter"),feature("Facebook")),
feature("Suspendable") has quality("Resume rigidity"),
feature("User location") has (feature("Compass"),feature("Error margin radius"),quality("Location error margin")),
stakeholder("Android marketplace",	gist -> "Indirect: Provides a retail channel"),
stakeholder("Apple AppStore", gist -> "Indirect: provide a retail channel"),
stakeholder("Apple iOS", gist -> "Indirect: provides the iOS platform"),
stakeholder("Design team", gist -> "The design team responsible for tailoring the design of the applicataion for different franchises"),
stakeholder("Development team", gist -> "The development team respinsible for maintaining the product"),
stakeholder("Franchises", gist -> "A company aspiring to buy a company specific application"),
stakeholder("Google Android", gist -> "Indirect: Provides the android platform"),
stakeholder("Google maps", gist -> "Indirect: The map provider for the application"),
stakeholder("ISP", gist -> "Indirect: Provides a networking channel"),
stakeholder("Product owner", gist -> "The company owning the source code of the base application"),
stakeholder("Smartphone manufacturers", gist -> "Indirect: Companies specializing in smatphones using iOS and Android OS"),
stakeholder("TSP", gist -> "Indirect: Provides a networking channel"),
stakeholder("User", gist -> "The application end user"))



 
